Repository navigation
feat(messaging): expose the supabase auth email setup as mcp tools - #124168
Conversation
There was a problem hiding this comment.
PostHog Review · Standard · reviewed e0db923: 1 Should fix.
This is the only automatic review while this pull request is a draft. Comment @posthog review to review new changes sooner. Otherwise, a review of the new changes runs when you mark it ready for review.
See this review and its findings in PostHog Review. Comment @posthog review --deep for a Deep review. A Deep review takes longer and looks deeper than a Standard review.
🤖 CI report
|
| First copy | Second copy | Lines | Tokens |
|---|---|---|---|
frontend/src/products.tsx:1546 |
products/data_warehouse/manifest.tsx:110 |
56 | 349 |
frontend/src/products.tsx:2643 |
products/data_warehouse/manifest.tsx:178 |
29 | 125 |
✅ Comment density — 0% of added code lines are comments (0 of 10)
This section warns when comments are more than 3% of the code lines a PR adds, and alerts above 6%. Before agent-assisted PRs, the typical share was about 2%. Only full-line comments count. Docstrings, generated files, snapshots, migrations, and workflow files are left out.
Comments that restate the code, record how the change came about, or narrate the next line add noise for the next reader. Keep the comments that explain a reason the code cannot show, and remove the rest. See .agents/skills/writing-code-comments/SKILL.md for the house rules.
This check does not block merging. It updates on every push and clears when the share drops.
⚠️ Bundle size — 🔺 +15.9 KiB (+0.0%)
Uncompressed size of every built .js bundle, compared against the base branch.
Total: 77.19 MiB · 🔺 +15.9 KiB (+0.0%)
| File | Size | Δ vs base |
|---|---|---|
posthog-app/_parent/products/data_warehouse/frontend/scenes/DestinationConnectScene/DestinationConnectScene.js |
10.0 KiB | 🔺 +10.0 KiB (new) |
Posted automatically by build-bundle-size-report · uncompressed bytes from dist-report
⚠️ Eager graph — 3 over budget
How much code each root ships on the eager path — downloaded and parsed before the surface is interactive. Measured from the esbuild output chunks (post-tree-shake, static imports only); lazy import() / React.lazy chunks are not counted.
| Root | Eager (shipped) | Δ vs base | Budget |
|---|---|---|---|
entry (logged-out pages, app bootstrap)src/index.tsx |
1.01 MiB · 25 files | no change | █████████░ 88.2% of 1.14 MiB |
logged-out boot: index + App + bootApp (preloaded by every page, including /login)src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts |
2.97 MiB · 621 files | 🔺 +402 B (+0.0%) | ██████████ 98.0% of 3.03 MiB |
🟡 authenticated shell (every logged-in page)src/scenes/AuthenticatedShell.tsx |
7.59 MiB · 2,569 files | 🔺 +316 B (+0.0%) | ██████████ 101.2% of 7.50 MiB |
dashboard scenesrc/scenes/dashboard/Dashboard.tsx |
9.95 MiB · 3,732 files | 🔺 +316 B (+0.0%) | ██████████ 99.4% of 10.01 MiB |
🟡 today home pathsrc/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx |
7.77 MiB · 2,662 files | 🔺 +412 B (+0.0%) | ██████████ 100.4% of 7.74 MiB |
🟡 AI-first home pathsrc/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx |
8.02 MiB · 2,655 files | 🔺 +316 B (+0.0%) | ██████████ 101.4% of 7.91 MiB |
events scenesrc/scenes/activity/explore/EventsScene.tsx |
9.40 MiB · 3,515 files | 🔺 +316 B (+0.0%) | ██████████ 98.0% of 9.59 MiB |
web analytics scenesrc/scenes/web-analytics/WebAnalyticsScene.tsx |
10.34 MiB · 3,765 files | 🔺 +316 B (+0.0%) | ██████████ 95.4% of 10.83 MiB |
replay detail scenesrc/scenes/session-recordings/detail/SessionRecordingDetail.tsx |
8.43 MiB · 3,110 files | 🔺 +316 B (+0.0%) | █████████░ 89.1% of 9.47 MiB |
🟢 node_modules/monaco-editor/ stays out of src/index.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/index.tsx
🟢 node_modules/@posthog/brand/dist/generated/hoggies/svg/ stays out of src/index.tsx
🟢 node_modules/@posthog/brand/dist/generated/hoggies/components/ stays out of src/index.tsx
🟢 node_modules/monaco-editor/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/layout/navigation-3000/navigationLogic.tsx stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/scenes/dashboard/dashboardLogic.tsx stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/lemon-ui/LemonMarkdown/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/components/RichContentEditor/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/components/CodeSnippet/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/taxonomy/core-filter-definitions-by-group.json stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 node_modules/zod/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/scenes/billing/billingLogic.tsx stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/components/ProductEmptyState/productSetupPreloadLogic.ts stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 node_modules/monaco-editor/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/scenes/AuthenticatedShell.tsx
🟢 products/dashboards/frontend/widgets/previews/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/scenes/session-recordings/player/sessionRecordingPlayerLogic.ts stays out of src/scenes/AuthenticatedShell.tsx
🟢 products/wizard/frontend/runs/WizardRunDetailsDrawer.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/today/TodayShell.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/today/TodayContextPanelFloating.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/today/TodaySidePanel.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/today/TodayTopBar.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/today/todayRailItems.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 zod/v4/locales/de.js stays out of src/scenes/AuthenticatedShell.tsx
🟢 node_modules/@posthog/brand/dist/generated/hoggies/svg/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 node_modules/@posthog/brand/dist/generated/hoggies/components/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/scenes/session-recordings/playlist/SessionRecordingsPlaylist.tsx stays out of src/scenes/dashboard/Dashboard.tsx
🟢 src/scenes/web-analytics/tiles/WebAnalyticsTile.tsx stays out of src/scenes/dashboard/Dashboard.tsx
🟢 src/queries/validators.js stays out of src/scenes/dashboard/Dashboard.tsx
🟢 src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
🟢 src/scenes/project-homepage/today/TodayReportPage.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
🟢 src/queries/Query/Query.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
🟢 packages/quill/packages/charts/ stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
🟢 products/posthog_ai/frontend/components/tool/widgets/VisualizationWidget.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
🟢 products/posthog_ai/frontend/components/tool/widgets/RecordingsWidget.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
🟢 src/queries/Query/Query.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
🟢 products/posthog_ai/frontend/api/primitives.ts stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
🟢 src/scenes/notebooks/Notebook/notebookLogic.ts stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
🟢 src/scenes/session-recordings/playlist/SessionRecordingsPlaylist.tsx stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 src/scenes/web-analytics/tiles/WebAnalyticsTile.tsx stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 src/queries/validators.js stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 src/scenes/web-analytics/LiveMetricsDashboard/LiveWebAnalyticsMetrics.tsx stays out of src/scenes/web-analytics/WebAnalyticsScene.tsx
🟢 products/product_analytics/frontend/insights/trends/WorldMap/countryVectors.tsx stays out of src/scenes/web-analytics/WebAnalyticsScene.tsx
🟢 src/scenes/settings/SettingsMap.tsx stays out of src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
🟢 @jspm/core/nodelibs/browser/fs stays out of src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
Largest files eagerly shipped from src/index.tsx
| Size | File |
|---|---|
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 24.6 KiB | ../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js |
| 6.3 KiB | ../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js |
| 4.7 KiB | ../node_modules/.pnpm/@jspm+core@2.1.0/node_modules/@jspm/core/nodelibs/browser/process.js |
| 4.0 KiB | ../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js |
| 1.7 KiB | ../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js |
| 1.7 KiB | src/index.tsx |
| 1.6 KiB | src/lib/utils/bootTiming.ts |
| 1.2 KiB | src/RootErrorBoundary.tsx |
| 949 B | src/scenes/ChunkLoadErrorBoundary.tsx |
Largest files eagerly shipped from src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
| Size | File |
|---|---|
| 323.1 KiB | ../node_modules/.pnpm/posthog-js@1.439.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 217.5 KiB | ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 102.5 KiB | src/products.tsx |
| 86.2 KiB | src/lib/api.ts |
| 68.3 KiB | src/lib/lemon-ui/icons/icons.tsx |
| 41.9 KiB | ../node_modules/.pnpm/@dnd-kit+core@6.0.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@dnd-kit/core/dist/core.esm.js |
| 36.4 KiB | ../node_modules/.pnpm/kea@4.0.0-pre.6_patch_hash=139b8d1f1304f9d9da452a9a1244c94ea679dbcb85687d8999563146879fb6f5_react@18.3.1/node_modules/kea/lib/index.cjs.js |
| 27.0 KiB | ../node_modules/.pnpm/tailwind-merge@2.2.2/node_modules/tailwind-merge/dist/bundle-mjs.mjs |
| 24.6 KiB | ../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js |
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx
| Size | File |
|---|---|
| 323.1 KiB | ../node_modules/.pnpm/posthog-js@1.439.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 286.4 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 239.9 KiB | ../packages/quill/packages/quill/dist/index.js |
| 217.5 KiB | ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 153.8 KiB | ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 102.5 KiB | src/products.tsx |
| 94.5 KiB | ../node_modules/.pnpm/@tiptap+core@3.20.6_@tiptap+pm@3.20.6/node_modules/@tiptap/core/dist/index.js |
| 92.5 KiB | ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js |
| 86.2 KiB | src/lib/api.ts |
Largest files eagerly shipped from src/scenes/dashboard/Dashboard.tsx
| Size | File |
|---|---|
| 323.1 KiB | ../node_modules/.pnpm/posthog-js@1.439.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 286.4 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 239.9 KiB | ../packages/quill/packages/quill/dist/index.js |
| 217.5 KiB | ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 153.8 KiB | ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js |
| 144.1 KiB | ../packages/quill/packages/primitives/dist/index.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 102.5 KiB | src/products.tsx |
| 94.5 KiB | ../node_modules/.pnpm/@tiptap+core@3.20.6_@tiptap+pm@3.20.6/node_modules/@tiptap/core/dist/index.js |
| 92.5 KiB | ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js |
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
| Size | File |
|---|---|
| 323.1 KiB | ../node_modules/.pnpm/posthog-js@1.439.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 286.4 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 239.9 KiB | ../packages/quill/packages/quill/dist/index.js |
| 217.5 KiB | ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 153.8 KiB | ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 102.5 KiB | src/products.tsx |
| 94.5 KiB | ../node_modules/.pnpm/@tiptap+core@3.20.6_@tiptap+pm@3.20.6/node_modules/@tiptap/core/dist/index.js |
| 92.5 KiB | ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js |
| 86.2 KiB | src/lib/api.ts |
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
| Size | File |
|---|---|
| 323.1 KiB | ../node_modules/.pnpm/posthog-js@1.439.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 286.4 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 239.9 KiB | ../packages/quill/packages/quill/dist/index.js |
| 217.5 KiB | ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 153.8 KiB | ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js |
| 144.1 KiB | ../packages/quill/packages/primitives/dist/index.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 102.5 KiB | src/products.tsx |
| 94.5 KiB | ../node_modules/.pnpm/@tiptap+core@3.20.6_@tiptap+pm@3.20.6/node_modules/@tiptap/core/dist/index.js |
| 92.5 KiB | ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js |
Largest files eagerly shipped from src/scenes/activity/explore/EventsScene.tsx
| Size | File |
|---|---|
| 323.1 KiB | ../node_modules/.pnpm/posthog-js@1.439.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 286.4 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 239.9 KiB | ../packages/quill/packages/quill/dist/index.js |
| 217.5 KiB | ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 153.8 KiB | ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js |
| 144.1 KiB | ../packages/quill/packages/primitives/dist/index.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 102.5 KiB | src/products.tsx |
| 94.5 KiB | ../node_modules/.pnpm/@tiptap+core@3.20.6_@tiptap+pm@3.20.6/node_modules/@tiptap/core/dist/index.js |
| 92.5 KiB | ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js |
Largest files eagerly shipped from src/scenes/web-analytics/WebAnalyticsScene.tsx
| Size | File |
|---|---|
| 323.1 KiB | ../node_modules/.pnpm/posthog-js@1.439.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 286.4 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 239.9 KiB | ../packages/quill/packages/quill/dist/index.js |
| 217.5 KiB | ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 187.9 KiB | src/queries/validators.js |
| 153.8 KiB | ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js |
| 144.1 KiB | ../packages/quill/packages/primitives/dist/index.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 102.5 KiB | src/products.tsx |
| 94.5 KiB | ../node_modules/.pnpm/@tiptap+core@3.20.6_@tiptap+pm@3.20.6/node_modules/@tiptap/core/dist/index.js |
Largest files eagerly shipped from src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
| Size | File |
|---|---|
| 323.1 KiB | ../node_modules/.pnpm/posthog-js@1.439.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 316.1 KiB | ../node_modules/.pnpm/posthog-js@1.439.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/rrweb.js |
| 286.4 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 239.9 KiB | ../packages/quill/packages/quill/dist/index.js |
| 217.5 KiB | ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 153.8 KiB | ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 102.5 KiB | src/products.tsx |
| 94.5 KiB | ../node_modules/.pnpm/@tiptap+core@3.20.6_@tiptap+pm@3.20.6/node_modules/@tiptap/core/dist/index.js |
| 92.5 KiB | ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js |
Posted automatically by check-eager-graph · sizes are eager output bytes (shipped, post-tree-shake) from the esbuild metafile · part of #32479
✅ Toolbar bundle — eager 2.31 MiB within budget
What the toolbar ships to customer pages, measured from the esbuild output (minified, post-tree-shake). The eager set is the entry plus everything statically imported from it — fetched before any feature runs; deferred chunks load lazily. The eager guardrail is 5.72 MiB. Each output file must also stay below 10 MB, where CloudFront stops compressing it. The module boundary is enforced separately by check-toolbar-graph.
| Metric | Size | Δ vs base | Budget |
|---|---|---|---|
| Eager (shipped) entry + static imports |
2.31 MiB · 18 files | 🟢 -66 B (-0.0%) | ████░░░░░░ 40.3% of 5.72 MiB |
| Deferred (lazy) | 2.11 MiB · 40 files | no change | n/a — loads on demand |
Loader dist/toolbar.js |
1.2 KiB | no change | █░░░░░░░░░ 6.0% of 19.5 KiB |
Largest eagerly-shipped chunks
| Size | File |
|---|---|
| 915.2 KiB | dist/toolbar/toolbar-app-SM4KM3FT.css |
| 695.9 KiB | dist/toolbar/chunk-chunk-RWMRI67I.js |
| 260.0 KiB | dist/toolbar/chunk-chunk-2C5YXPVJ.js |
| 131.8 KiB | dist/toolbar/chunk-chunk-FDH2IBXT.js |
| 130.4 KiB | dist/toolbar/chunk-chunk-JIREX4AJ.js |
| 75.7 KiB | dist/toolbar/toolbar-app-KNMFLCHO.js |
| 69.0 KiB | dist/toolbar/chunk-chunk-TSAL54PB.js |
| 35.6 KiB | dist/toolbar/chunk-chunk-A36WNUNI.js |
| 21.7 KiB | dist/toolbar/chunk-chunk-RER5GSAZ.js |
| 6.8 KiB | dist/toolbar/chunk-chunk-DV7IWQNF.js |
Posted automatically by check-toolbar-size · sizes are toolbar output bytes (shipped, post-tree-shake) from the esbuild metafile
✅ Dist folder size — 🔺 +98.8 KiB (+0.0%)
Total size of the built frontend/dist folder (all assets), compared against the base branch.
Total: 972.77 MiB · 🔺 +98.8 KiB (+0.0%)
ℹ️ MCP UI apps size — 35 app(s), 29001.2 KB JS
Built size of each MCP UI app (main.js + styles.css).
| App | JS | CSS |
|---|---|---|
| debug | 844.3 KB | 211.1 KB |
| explain-chart | 1005.6 KB | 211.1 KB |
| action | 767.7 KB | 211.1 KB |
| action-list | 835.3 KB | 211.1 KB |
| cohort | 766.7 KB | 211.1 KB |
| cohort-list | 834.3 KB | 211.1 KB |
| email-template | 766.6 KB | 211.1 KB |
| error-details | 771.6 KB | 211.1 KB |
| error-issue | 768.9 KB | 211.1 KB |
| error-issue-list | 836.8 KB | 211.1 KB |
| experiment | 832.4 KB | 211.1 KB |
| experiment-list | 836.1 KB | 211.1 KB |
| experiment-results | 835.0 KB | 211.1 KB |
| feature-flag | 834.7 KB | 211.1 KB |
| feature-flag-list | 838.4 KB | 211.1 KB |
| feature-flag-testing | 770.0 KB | 211.1 KB |
| inline-scan | 767.2 KB | 211.1 KB |
| insight-actors | 833.8 KB | 211.1 KB |
| llm-costs | 831.1 KB | 211.1 KB |
| session-recording | 769.0 KB | 211.1 KB |
| survey | 768.3 KB | 211.1 KB |
| survey-global-stats | 831.1 KB | 211.1 KB |
| survey-list | 836.0 KB | 211.1 KB |
| survey-stats | 831.1 KB | 211.1 KB |
| trace-span | 767.1 KB | 211.1 KB |
| trace-span-list | 835.2 KB | 211.1 KB |
| vision-observation-list | 834.4 KB | 211.1 KB |
| workflow | 767.1 KB | 211.1 KB |
| workflow-list | 834.7 KB | 211.1 KB |
| workflow-setup-status | 766.7 KB | 211.1 KB |
| query-results | 1087.6 KB | 211.1 KB |
| render-ui | 1187.2 KB | 211.1 KB |
| visual-review-snapshots | 771.6 KB | 211.1 KB |
| workflow-data-suggestions | 769.4 KB | 211.1 KB |
| workflow-sending-rules | 768.1 KB | 211.1 KB |
ℹ️ MCP agent API — agent-facing tool changes
What this PR changes for agents, from the tool schema snapshots and tool definitions.
Tools added (3): supabase-auth-emails-settings-get (33 chars), supabase-auth-emails-settings-update (1,229 chars), supabase-auth-emails-starter-templates-create (33 chars)
⚠️ Backend coverage — 90.0% of changed backend lines covered — 60 uncovered
🧪 Backend test coverage
Patch coverage — changed backend lines (products + core): ██████████████████░░ 90.0% (576 / 636)
| File | Patch | Uncovered changed lines |
|---|---|---|
posthog/ingress/verify/schemes.py |
80.0% | 260 |
products/messaging/backend/services/supabase_auth_emails.py |
84.6% | 80, 129, 168, 215–218, 224–230, 232, 237–239, 250–251, 253, 256, 277, 289, 330, 343, 368, 384–385, 388–389 |
products/messaging/backend/services/supabase_auth_email_templates.py |
85.0% | 12–16, 18 |
products/messaging/backend/presentation/views/supabase_auth_emails.py |
87.8% | 150, 167–168, 192, 224–225, 245–246, 266–267, 277–278, 306, 309–310, 318, 350–351 |
products/messaging/backend/facade/contracts.py |
87.9% | 132, 134, 136, 152 |
🤖 Agents: add a test only if an uncovered line exposes a realistic regression that existing tests miss. Otherwise explain why no new test is needed under "How did you test this code?". Gap list: the patch-coverage artifact on this run (gh run download 370219924302682 -n patch-coverage), or the coverage-data block at the end of this comment.
Per-product line coverage (touched products)
| Product | Coverage | Lines |
|---|---|---|
demo |
███████████░░░░░░░░░ 56.4% |
1,542 / 2,736 |
batch_exports |
████████████████░░░░ 81.7% |
23,024 / 28,171 |
engineering_analytics |
█████████████████░░░ 85.0% |
11,468 / 13,498 |
commands |
█████████████████░░░ 85.5% |
1,618 / 1,893 |
mcp_analytics |
█████████████████░░░ 86.2% |
5,732 / 6,651 |
posthog_ai |
██████████████████░░ 87.9% |
4,296 / 4,886 |
notebooks |
██████████████████░░ 88.5% |
15,330 / 17,321 |
mcp_registry |
██████████████████░░ 89.0% |
1,596 / 1,794 |
dashboards |
██████████████████░░ 89.4% |
8,036 / 8,991 |
cohorts |
██████████████████░░ 89.6% |
8,556 / 9,547 |
product_tours |
██████████████████░░ 89.7% |
1,355 / 1,510 |
warehouse_suggestions |
██████████████████░░ 89.9% |
3,714 / 4,133 |
signals |
██████████████████░░ 90.2% |
90,685 / 100,569 |
today |
██████████████████░░ 90.6% |
3,496 / 3,859 |
tasks |
██████████████████░░ 91.0% |
80,531 / 88,514 |
managed_warehouse |
██████████████████░░ 91.1% |
12,403 / 13,619 |
data_warehouse |
██████████████████░░ 91.1% |
15,337 / 16,833 |
canvas |
██████████████████░░ 91.2% |
8,189 / 8,980 |
autoresearch |
██████████████████░░ 91.4% |
11,616 / 12,705 |
data_modeling |
██████████████████░░ 91.5% |
10,755 / 11,758 |
cdp |
██████████████████░░ 91.5% |
10,293 / 11,249 |
metrics |
██████████████████░░ 91.7% |
10,627 / 11,590 |
business_knowledge |
██████████████████░░ 91.7% |
10,309 / 11,240 |
wizard |
██████████████████░░ 91.7% |
6,870 / 7,490 |
slack_app |
██████████████████░░ 91.7% |
21,739 / 23,699 |
streamlit_apps |
██████████████████░░ 91.9% |
3,139 / 3,415 |
error_tracking |
██████████████████░░ 92.1% |
19,543 / 21,212 |
conversations |
██████████████████░░ 92.3% |
30,742 / 33,319 |
review_hog |
██████████████████░░ 92.3% |
18,059 / 19,562 |
stamphog |
███████████████████░ 92.6% |
8,870 / 9,579 |
early_access_features |
███████████████████░ 92.6% |
1,339 / 1,446 |
alerts_platform |
███████████████████░ 92.8% |
8,195 / 8,834 |
notifications |
███████████████████░ 92.8% |
1,218 / 1,312 |
alerts |
███████████████████░ 92.9% |
10,394 / 11,193 |
web_analytics |
███████████████████░ 93.3% |
26,139 / 28,015 |
cross_project_dashboards |
███████████████████░ 93.4% |
880 / 942 |
surveys |
███████████████████░ 93.4% |
6,941 / 7,429 |
messaging |
███████████████████░ 93.6% |
6,426 / 6,869 |
exports |
███████████████████░ 93.6% |
4,191 / 4,479 |
approvals |
███████████████████░ 93.7% |
4,994 / 5,331 |
context_layer |
███████████████████░ 93.8% |
3,981 / 4,244 |
mcp_store |
███████████████████░ 93.9% |
9,188 / 9,784 |
marketing_analytics |
███████████████████░ 93.9% |
21,234 / 22,605 |
billing_alerts |
███████████████████░ 94.0% |
2,322 / 2,470 |
ai_observability |
███████████████████░ 94.0% |
29,507 / 31,375 |
customer_analytics |
███████████████████░ 94.1% |
28,186 / 29,950 |
workflows |
███████████████████░ 94.3% |
25,307 / 26,838 |
replay_vision |
███████████████████░ 94.3% |
33,539 / 35,556 |
logs |
███████████████████░ 94.4% |
19,319 / 20,467 |
actions |
███████████████████░ 94.7% |
1,004 / 1,060 |
experiments |
███████████████████░ 94.7% |
40,579 / 42,829 |
reminders |
███████████████████░ 94.8% |
760 / 802 |
endpoints |
███████████████████░ 94.9% |
9,369 / 9,875 |
growth |
███████████████████░ 94.9% |
11,450 / 12,063 |
annotations |
███████████████████░ 95.1% |
1,095 / 1,151 |
skills |
███████████████████░ 95.2% |
7,630 / 8,015 |
access_control |
███████████████████░ 95.5% |
8,281 / 8,671 |
subscriptions |
███████████████████░ 95.5% |
13,559 / 14,192 |
data_catalog |
███████████████████░ 95.7% |
4,714 / 4,927 |
product_analytics |
███████████████████░ 95.8% |
29,904 / 31,227 |
feature_flags |
███████████████████░ 95.8% |
28,839 / 30,092 |
revenue_analytics |
███████████████████░ 95.9% |
1,877 / 1,958 |
data_quality |
███████████████████░ 96.0% |
8,561 / 8,915 |
tracing |
███████████████████░ 96.3% |
4,404 / 4,572 |
warehouse_sources |
███████████████████░ 96.5% |
483,409 / 500,852 |
account_audits |
███████████████████░ 96.7% |
770 / 796 |
pulse |
███████████████████░ 97.1% |
2,023 / 2,083 |
analytics_platform |
████████████████████ 98.0% |
2,828 / 2,885 |
groups |
████████████████████ 98.2% |
1,838 / 1,871 |
Report-only. Patch coverage = changed backend lines covered vs origin/master. Sorted lowest first.
Known gaps: lines covered only by Temporal tests show as uncovered; core line numbers may drift if master changed the same file.
✅ Django migration risk — migration analysis complete
We've analyzed your migrations for potential risks.
Summary: 1 Safe | 0 Needs Review | 0 Blocked
✅ Safe
Brief or no lock, backwards compatible
messaging.0010_supabase_auth_email_config
└─ #1 ✅ CreateModel
Creating new table is safe
model: SupabaseAuthEmailConfig
│
└──> ℹ️ INFO:
ℹ️ Skipped operations on newly created tables (empty tables
don't cause lock contention).
Last updated: 2026-10-28 13:05 UTC (e38c861)
|
Risk: No findings This increment regenerates OpenAPI/MCP types that pull in the new messaging provider-import API surface (Customer.io background imports) and tweaks two tool descriptions; behind it, the branch also carries the provider-import backend itself. I traced that backend end to end — viewset scoping ( Sentinel reviewed |
👀 Auto-assigned reviewersThese soft owners were skipped because they only have minor changes here. Nothing blocks merge, so self-assign if you'd like a look:
Soft owners come from each directory's |
92ca473 to
eac0d95
Compare
|
e4a2875 to
d6fd8e8
Compare
2ad9b87 to
9104f22
Compare
mayteio
left a comment
There was a problem hiding this comment.
lgtm once the base lands 🙂
one idea for a follow up: wdyt about a small skill for this, like setting-up-supabase-auth-emails next to designing-email-templates in products/workflows/skills/? the setup bounces between two systems, has a manual step in the supabase dashboard, and order matters (map the core emails before the hook goes live), which is a lot to fit in tool descriptions. bonus is some of the cross-tool guidance in tools.yaml could move into it, so it shouldn't grow the footprint much
probably worth waiting on the enabled question in #123966 first though, since it changes the flow the skill would describe
|
/depot retry |
mayteio
left a comment
There was a problem hiding this comment.
lgtm, the red shard looks unrelated (customer-analytics tests)
912c5b6 to
aed2f54
Compare
|
😎 Stack merged successfully - details. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
aed2f54 to
e38c861
Compare
Problem
Changes
workflows-supabase-auth-emailsflag that already gates the endpoints:supabase-auth-emails-settings-getsupabase-auth-emails-settings-updatesupabase-auth-emails-starter-templates-createtemplatesreplaces the whole mapping, and lists the valid email types.Mechanical: regenerated OpenAPI types, MCP handlers and tool schema snapshots, plus the flag in the snapshot test.
Warning
The MCP evaluates the flag for the calling user. The endpoints evaluate it for the team, with the organization as the group. Roll the flag out by organization, or the tools and endpoints disagree: tools that 404, or working endpoints with no tools.
The Supabase half of the setup (adding the Send Email hook and generating its secret) stays manual. Supabase's Management API could automate it in a later change.
How did you test this code?
Test rationale: No new tests. The snapshot test covers the generated tool schemas, and the backend tests in #123966 cover the endpoints. Only help text changed on the Python side.
Release status
Docs update
None under
docs/. A draft posthog.com guide for the feature is in PostHog/posthog.com#21625.🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Agent: Claude Code, Claude Opus 5.5 (
claude-opus-5-5)/implementing-mcp-tools,/improving-drf-endpoints,/writing-pr-descriptions,/simplify,/code-review./simplifycut the tool descriptions down to cross-tool guidance and added the response filters./code-reviewcorrected which unmapped emails fail and dropped the idempotent hint on the starter templates tool, because a repeat call after an unmap creates another template.🤖 Generated with Claude Code